package com.hejielife.singleton;

/**
 * <hr>
 * 单态模式 :<br>
 * 保证一个类仅有一个实例，并提供一个访问它的全局访问点。
 * <hr>
 * 适用性 :<br>
 * 1.当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。 <br>
 * 2.当这个唯一实例应该是通过子类化可扩展的，并且客户应该无需更改代码就能使用一个扩展的实例时。 <br>
 */
//饿汉式
public class SingletonDemo01 {
	// 类初始化时,会立即加载该对象，线程天生安全,调用效率高
	private static SingletonDemo01 singletonDemo01 = new SingletonDemo01();

	private SingletonDemo01() {
	}

	public static SingletonDemo01 getInstance() {
		return singletonDemo01;
	}

	public static void main(String[] args) {
		SingletonDemo01 s1 = SingletonDemo01.getInstance();
		SingletonDemo01 s2 = SingletonDemo01.getInstance();
		System.out.println(s1 == s2);
	}

}
